Non-volatile data storage devices have enabled increased portability of data and software applications. For example, multi-level cell (MLC) storage elements of a memory device may each store a value indicating multiple bits of data, enhancing data storage density as compared to single-level cell (SLC) memory devices. Consequently, memory devices may enable users to store and access a large amount of data. In some cases, the data may include sequences of consecutive values (e.g., a string of logic “0” values or a string of logic “1” values).
Storing a common value in multiple adjacent storage elements can degrade performance of a memory device, such as by causing a large leakage current in some memory devices. To illustrate, in a resistive-random access memory (ReRAM), programming a column of storage elements to a low-resistance state may produce a large leakage current. Further, storing a common value in multiple adjacent storage elements can cause disturb effects in some memory devices. For example, storage elements of a flash memory device may be more prone to cross-coupling effects (and thus read errors and decoding errors) if adjacent storage elements are programmed to a common value.
To avoid programming of a common value to adjacent storage elements, some memory devices scramble or shape data to be stored. In some cases, such a technique may still result in programming of a common value to adjacent storage elements, such as if a “gap” exists in data to be written (in which case a repeated sequence of “default” values may be written in place of the gap, such as a sequence of logic “0” values or of logic “1” values). Some memory devices may insert dummy data in such a gap to avoid programming of a default sequence of a common value. However, sending the dummy data from a controller to a memory may use a large amount of resources at a memory device (e.g., by using power to transfer the dummy data over a bus between the controller and the memory).